Skip to content

feat: add client_settings to ChromaDocumentStore#2651

Merged
anakin87 merged 12 commits into
deepset-ai:mainfrom
SaraCalla:chroma_client_settings
Jan 9, 2026
Merged

feat: add client_settings to ChromaDocumentStore#2651
anakin87 merged 12 commits into
deepset-ai:mainfrom
SaraCalla:chroma_client_settings

Conversation

@SaraCalla
Copy link
Copy Markdown
Contributor

Related Issues

Proposed Changes:

Added client_settings parameter to __init__ to allow users to configure the underlying Chroma client's Settings without accessing private attributes.

How did you test it?

  • Added unit tests for client_settings initialization
  • Added integration test for async client with settings

Notes for the reviewer

I also took the liberty of fixing the async test class marking. Previously, running hatch run test:unit would fail because tests required a Chroma server instance. The entire TestDocumentStoreAsync class is now marked as @pytest.mark.integration.

Checklist

@github-actions github-actions Bot added integration:chroma type:documentation Improvements or additions to documentation labels Jan 4, 2026
@SaraCalla SaraCalla marked this pull request as ready for review January 5, 2026 10:49
@SaraCalla SaraCalla requested a review from a team as a code owner January 5, 2026 10:49
@SaraCalla SaraCalla requested review from anakin87 and removed request for a team January 5, 2026 10:49
@anakin87
Copy link
Copy Markdown
Member

anakin87 commented Jan 7, 2026

Hey @SaraCalla, thanks for the contribution and sorry for the wait.
I'll try to review in the next few days.

Could you please resolve the conflicts in the meantime?

Copy link
Copy Markdown
Member

@anakin87 anakin87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you again. I left some comments.

Have you investigated how Settings interfere with other client parameters?

HttpClient(host: str = "localhost",
               port: int = 8000,
               settings: my_custom_settings)

Comment thread integrations/chroma/tests/test_document_store.py
try:
client_kwargs["settings"] = Settings(**self._client_settings)
except ValueError as e:
msg = f"Invalid client_settings: {e}"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would report self._client_settings in the error message

Copy link
Copy Markdown
Member

@anakin87 anakin87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@anakin87
Copy link
Copy Markdown
Member

anakin87 commented Jan 9, 2026

I will release the new version next week, along with Python 3.9 drop (coming soon).

@anakin87 anakin87 merged commit 1017c72 into deepset-ai:main Jan 9, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration:chroma type:documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Offer passing Settings to Chroma Client in __init__

2 participants